Evaluating and Backtesting a Dynamic Investment Strategy
Data Collection and Preprocessing
| Criteria | Meet Specification |
|---|---|
|
The student will be able to retrieve and preprocess financial time-series data for further analysis. |
The code demonstrates the use of a Python library to retrieve financial time-series data for the desired assets and transforms it to obtain the desired variables. |
|
The student will be able to reduce noise in financial time-series data using a resampling technique. |
The code applies a monthly resampling technique to the data to improve the signal-to-noise ratio, producing a dataset with the desired frequency. |
Risk Parity Weight Computation and Portfolio Returns Calculation
| Criteria | Meet Specification |
|---|---|
|
The student will be able to compute risk parity weights for a portfolio |
The code uses a rolling window approach to compute and shift risk parity weights by one period for a given portfolio. |
|
The student will be able to calculate portfolio returns |
The code calculates returns for a risk parity portfolio using the computed weights. |
Performance Evaluation and Visualization
| Criteria | Meet Specification |
|---|---|
|
The student will be able to evaluate the performance of a portfolio using various performance metrics. |
The code demonstrates the ability to evaluate the performance of a portfolio using various performance metrics, such as the annualized mean return, annualized volatility, skewness, kurtosis, maximum drawdown, Sharpe ratio, Sortino ratio, and Calmar ratio. The resulting performance metrics are interpreted and used to make investment decisions. |
|
The student will be able to visualize the performance of a portfolio using appropriate plots. |
The code demonstrates the ability to visualize the performance of a portfolio using appropriate plots, such as a plot of the cumulative returns of the portfolio and a plot of the drawdowns of the portfolio. The resulting plots are interpreted and used to make investment decisions. |
|
The student will be able to apply the performance evaluation and visualization to a real-world dataset. |
The code demonstrates the ability to apply the performance evaluation and visualization to a real-world dataset of front-month futures data for the S&P 500, 10-year Treasuries, gold, and the US dollar. The resulting performance metrics and plots are interpreted and used to make investment decisions. |
Tips to make your project standout:
Incorporate additional data sources: Students can consider incorporating additional data sources beyond the front-month futures data for the S&P 500, 10-year Treasuries, gold, and the US dollar. For example, they could include data on individual stocks, commodities, or other asset classes. This would allow for a more diverse and potentially more robust portfolio.
Visualize portfolio composition: In addition to visualizing the performance of the portfolio, students can consider visualizing the composition of the portfolio over time. This would allow for a better understanding of how the portfolio's assets are weighted and how those weights change over time. This could be done using a stacked area chart or a similar visualization.
Include a detailed report: Students can consider including a detailed report that summarizes their project and provides additional insights into their methodology and results. This report could include sections on data collection and preprocessing, risk parity weight computation and portfolio returns calculation, performance evaluation and visualization, and a conclusion that summarizes the key findings and potential areas for future work.